package com.example.demo.dependenceInversion.impl;

import com.example.demo.dependenceInversion.ICourse;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * Created by Easettle
 * Date:2020/6/17 23:39
 * Email:easettle@qq.com
 */
public class Easettle {
//     需要什么就定义什么方法 begin
    public void StudyJavaCource() {
        System.out.println("舒清在学习java");
    }

    public void StudyPythonCoure() {
        System.out.println("舒清在学习python");
    }

    public void StudyAiCoure() {
        System.out.println("舒清在学习Ai");
    }

//    需要什么就定义什么方法 end
    private ICourse iCourse;

    /**
     * 构造器实例化自身
     */
    public Easettle() {
        super();
    }

    /**
     * @param iCourse --通过传入的实例化对象来
     */
    public Easettle(ICourse iCourse) {
        this.iCourse = iCourse;
    }
    /**
     * 依赖注入
     * @param iCourse --- 调用注入对象里面的study方法
     */
    public void study(ICourse iCourse) {
        iCourse.study();
    }

    public void setiCourse(ICourse iCourse) {
        this.iCourse = iCourse;
    }

    public void study2() {
        iCourse.study();
    }
}
